﻿using System;
using System.Windows.Forms;
using SiGeCoPre.Presupuesto_BL;
using SiGeCoPre.Presupuesto_DTO;
using SiGeCoPre.Presupuesto_Factory;
using SiGeCoPre.Presupuesto_Util;

namespace SiGeCoPre
{
    /// <summary>
    /// Formulario de logueo
    /// </summary>
    public partial class frmLogin : Form
    {
        private Boolean correcto = false;
        public static string usuarioActivo = "";

        BLEmpleados createEmpleado = BLFactoryPresupuesto.createEmpleado();

        public frmLogin()
        {
            InitializeComponent();
        }

        private void frmLogin_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (!correcto)
            {
                Application.Exit();
             }
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            bool conectado = chequearUsuario(txtUsuario.Text, txtContrasenia.Text);

            if (conectado)
            {
                correcto = true;
                usuarioActivo = txtUsuario.Text;
                this.Close();
                this.Dispose();
            }
            else
            {
                MessageBox.Show("Usuario y/o Contraseña incorrecta!!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                Texto.escribirLog("Error en login");
            }
        }

        private void frmLogin_Load(object sender, EventArgs e)
        {
            String usuario = Environment.UserName;
            txtUsuario.Text = usuario;
        }

        /// <summary>
        /// Intercambia el usuario conectado
        /// </summary>
        /// <returns>Devuelve el usuario que se conecta al sistema</returns>
        public string usuarioConectado() 
        {
            return usuarioActivo;
        
        }

        private bool chequearUsuario(string usuario, string password)
        {
            bool conectado = false;

            if ("LBALERI".Equals(usuario) && "Mon$$123".Equals(password))
            {
                conectado = true;
            }
            /*try
            {
                empleadosDTO em = createEmpleado.getEmpleado(usuario);

                if (null != em)
                {
                    if (password.Equals(em.Password))
                    {
                        conectado = true;
                    }
                }
            }
            catch (Exception ex)
            {
                conectado = false;
                Texto.escribirLog(ex.Message);
            }*/

            return conectado;
        }

    }
}
